I2C (Inter-Integrated Circuit) হলো একটি জনপ্রিয় কমিউনিকেশন প্রোটোকল যা Arduino সহ বিভিন্ন মাইক্রোকন্ট্রোলার এবং সেন্সর ডিভাইসের মধ্যে যোগাযোগের জন্য ব্যবহৃত হয়। I2C এর মাধ্যমে একাধিক ডিভাইস একসাথে যুক্ত করা যায় এবং প্রতিটি ডিভাইসের জন্য শুধুমাত্র দুটি তারের প্রয়োজন হয়: SDA (Serial Data) এবং **SCL (Serial Clock)**।
Arduino-এর বিভিন্ন মডেলে I2C পিন বিভিন্নভাবে সংযুক্ত করা থাকে:
Arduino-তে I2C ডিভাইস (যেমন I2C LCD) ব্যবহার করার জন্য সাধারণত Wire লাইব্রেরি ব্যবহার করা হয়। নিচে একটি উদাহরণ দেওয়া হলো যেখানে I2C LCD ডিসপ্লেতে "Hello, World!" প্রিন্ট করা হয়েছে:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// I2C LCD অ্যাড্রেস এবং কলাম ও রো সেট করা
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
lcd.begin(); // LCD শুরু করা
lcd.backlight(); // ব্যাকলাইট চালু করা
lcd.setCursor(0, 0); // প্রথম লাইনে কার্সর সেট করা
lcd.print("Hello, World!"); // মেসেজ প্রিন্ট করা
}
void loop() {
// কিছু করা হচ্ছে না, লুপ খালি রাখা হয়েছে
}
#include <Wire.h>
: I2C কমিউনিকেশন চালানোর জন্য Wire লাইব্রেরি অন্তর্ভুক্ত করা।#include <LiquidCrystal_I2C.h>
: I2C LCD এর জন্য LCD লাইব্রেরি অন্তর্ভুক্ত করা।lcd.begin()
: I2C LCD ডিসপ্লে শুরু করা।lcd.print()
: LCD ডিসপ্লেতে মেসেজ প্রিন্ট করা।lcd.backlight()
: LCD এর ব্যাকলাইট চালু করা।Arduino-এর সাথে I2C ডিভাইস সংযুক্ত করার সময় ডিভাইসের সঠিক I2C অ্যাড্রেস জানাটা গুরুত্বপূর্ণ। অ্যাড্রেস খুঁজে বের করার জন্য একটি I2C স্ক্যানার কোড ব্যবহার করা যায়:
I2C স্ক্যানার কোড:
#include <Wire.h>
void setup() {
Wire.begin();
Serial.begin(9600);
Serial.println("I2C Scanner");
for (byte address = 1; address < 127; address++) {
Wire.beginTransmission(address);
if (Wire.endTransmission() == 0) {
Serial.print("I2C device found at address 0x");
Serial.println(address, HEX);
}
delay(5);
}
Serial.println("Scan completed");
}
void loop() {
// কিছু করা হবে না
}
Arduino এবং I2C ডিভাইসের মধ্যে যোগাযোগ স্থাপন করা সহজ এবং কার্যকর। এর মাধ্যমে আপনি বিভিন্ন ধরনের সেন্সর, ডিসপ্লে, এবং অন্যান্য ডিভাইস সহজেই যুক্ত করতে এবং ব্যবহার করতে পারবেন।
common.read_more